#ifndef DX9DeviceWrapper_h__
#define DX9DeviceWrapper_h__

#include <vcclr.h>

#include "../DX9SharedLayer/DX9Device.h"

using namespace System;

namespace DX9ToolManaged
{
	public ref class DX9DeviceWrapper
	{
	public:
		DX9DeviceWrapper() : m_Impl(API_D3D_DEVICE_PTR()) {}
		~DX9DeviceWrapper() { delete m_Impl; }

		bool Init(IntPtr hWnd, int width, int height);

		void Clear();
		void BeginScene();
		void EndScene();
		void Present();

		void SetPresentRectSize( int top, int bottom, int left, int right );
		void SetViewport( int x, int y, int width, int height );

		bool IsInitialized();

		void SetupView();

	protected:
		DX9Device*	m_Impl;
	};
}

#endif // DX9DeviceWrapper_h__
